# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default The Messenger Template

game: The Messenger
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.

The Messenger:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    # 
    # **Items:** ensure all logically relevant items can be acquired. Some items, such as keys, may be self-locking, and
    # some locations may be inaccessible.
    full: 50
    minimal: 0
    items: 0

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  shuffle_shards:
    # Whether mega shards should be item locations.
    'false': 50
    'true': 0

  traps:
    # Whether traps should be included in the itempool.
    'false': 50
    'true': 0

  shop_price:
    # Percentage modifier for shuffled item prices in shops
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 25
    # Maximum value is 400
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-25-400: 0 # random value between 25 and 400

  shop_price_plan:
    # Plan specific prices on shop slots. Supports weighting
    {}

  ##############
  # Difficulty #
  ##############
  early_meditation:
    # Guarantees meditation will be found early
    'false': 50
    'true': 0

  logic_level:
    # The level of logic to use when determining what locations in your world are accessible.
    # 
    # **Normal:** Can require damage boosts, but otherwise approachable for someone who has beaten the game.
    # 
    # **Hard:** Expects more knowledge and tighter execution.
    # Has leashing, normal clips and much tighter d-boosting in logic.
    normal: 50
    hard: 0

  limited_movement:
    # Removes either rope dart or wingsuit from the itempool. Forces logic to at least hard and accessibility to minimal.
    'false': 50
    'true': 0

  ########
  # Goal #
  ########
  goal:
    # Requirement to finish the game.
    # To win with the power seal hunt goal, you must enter the Music Box through the shop chest.
    open_music_box: 50
    power_seal_hunt: 0

  music_box:
    # Whether the music box gauntlet needs to be done.
    'false': 0
    'true': 50

  notes_needed:
    # How many notes need to be found in order to access the Music Box.
    # 6 are always needed to enter, so this places the others in your start inventory.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 6
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-6: 0 # random value between 1 and 6

  total_seals:
    # Number of power seals that exist in the item pool when power seal hunt is the goal.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 85
    45: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-85: 0 # random value between 1 and 85

  percent_seals_required:
    # Percentage of total seals required to open the shop chest.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 100
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-100: 0 # random value between 10 and 100

  #############
  # Entrances #
  #############
  available_portals:
    # Number of portals that are available from the start. Autumn Hills, Howling Grotto, and Glacial Peak are always
    # available. If portal outputs are not randomized, Searing Crags will also be available.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 3
    # Maximum value is 6
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-3-6: 0 # random value between 3 and 6

  shuffle_portals:
    # Whether the portals lead to random places.
    # Entering a portal from its vanilla area will always lead to HQ, and will unlock it if relevant.
    # Supports plando.
    # 
    # **None:** Portals will take you where they're supposed to.
    # 
    # **Shops:** Portals can lead to any area except Music Box and Elemental Skylands, with each portal output guaranteed
    # to not overlap with another portal's. Will only put you at a portal or a shop.
    # 
    # **Checkpoints:** Like Shops except checkpoints without shops are also valid drop points.
    # 
    # **Anywhere:** Like Checkpoints except it's possible for multiple portals to output to the same map.
    none: 50
    shops: 0
    checkpoints: 0
    anywhere: 0

  shuffle_transitions:
    # Whether the transitions between the levels should be randomized.
    # Supports plando.
    # 
    # **None:** Level transitions lead where they should.
    # 
    # **Coupled:** Returning through a transition will take you from whence you came.
    # 
    # **Decoupled:** Any level transition can take you to any other level transition.
    none: 50
    coupled: 0
    decoupled: 0

  portal_plando:
    # Plando connections to be used with portal shuffle.
    # Documentation on using this can be found in The Messenger plando guide.
    []

  plando_connections:
    # Plando connections to be used with transition shuffle.
    # Documentation on using this can be found in The Messenger plando guide.
    []

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
